package cn.kgc.service;

import cn.kgc.entity.Company;
import cn.kgc.form.CompanyAddOrReviewForm;
import cn.kgc.form.CompanyAdminReviewForm;
import cn.kgc.form.CompanyHrReviewForm;
import cn.kgc.form.CompanyQueryForm;
import cn.kgc.utils.PagedGridResult;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * @author YC
 */
public interface CompanyService extends IService<Company> {

    /**
     * 管理员审核公司申请入驻
     *
     * @param form 公司提交的审核表单
     * @return boolean
     */
    boolean review(CompanyAdminReviewForm form);

    /**
     * 分页查询待审批公司的集合
     *
     * @param form 查询待审批企业的表单
     * @return 公司集合
     */
    PagedGridResult queryCompanyList(CompanyQueryForm form);

    /**
     * 根据公司名称查询公司信息
     *
     * @param companyName 公司名称
     * @return 公司信息
     */
    Company getCompany(String companyName);

    /**
     * 新公司入驻
     *
     * @param addForm 公司信息表单
     * @return 新增的公司对象
     */
    Company createCompany(CompanyAddOrReviewForm addForm);

    /**
     * 重新审批公司入驻
     *
     * @param reviewForm 公司信息表单
     * @return 审批后新增的公司对象
     */
    Company reviewCompany(CompanyAddOrReviewForm reviewForm);

    /**
     * 审批用户申请公司HR
     *
     * @param reviewForm 公司HR信息表单
     * @return 更新后的公司信息
     */
    Company reviewCompanyHr(CompanyHrReviewForm reviewForm);

}
